"""
1、普通参数(没有默认值的形参)： 在默认参数之前
2、默认值参数
    1、在可变参数之后，我们调用时，需要使用关键字参数
    2、在可变参数之前，我们调用时，之前使用位置参数即可
3、可变参数
    1、一般不会放到第一位，原因：放到第一位，后面的普通参数将拿不到值
    2、可以放到默认参数之前,我们在使用的时候必须在位置实参之后使用关键字实参
    2、可以放到默认参数之后，在调用时，我们的默认参数走的是位置实参
4、字典参数：
      1、定义时  :字典参数只能放到形参的最后面
      2、使用时： 关键字实参，要在位置实参之后，实参中不用的关键字实参自动变成字典参数
字典参数在定义时在形参的最后面
"""
def my_func(a,b=12,*args,**kwargs):
    print(a)
    print(b)
    print(args)
    print(kwargs)

my_func(1,21,2,2,3,1,1,1,11,c=12,d=12)